package com.atguigu.qz.controll

import com.atguigu.qz.service.EtlOdsService
import com.atguigu.util.{BaseControll, HiveUtil}
import org.apache.spark.sql.SparkSession

/**
 * description ：做题模块 读取源数据写入 dwd 层
 * author      ：剧情再美终是戏 
 * mail        : 13286520398@163.com
 * date        ：Created in 2020/3/8 14:36
 * modified By ：
 * version:    : 1.0
 */
object DwdQzControlln extends BaseControll {
  override def initAppName(appName: String) = super.initAppName(this.getClass.getName)

  override def doSmething(spark: SparkSession, dt: String, dn: String) = {
    // 开启动态分区和压缩， 指定使用 snappy 压缩
    HiveUtil.openDynamicPartition(spark)
    HiveUtil.openCompression(spark)
    HiveUtil.useSnappyCompression(spark)

    // etl ods 层数据，写入 dwd 层
    EtlOdsService.EtlQzBusiness(spark, dt, dn) // 所属行业数据
    EtlOdsService.EtlQzCenter(spark, dt, dn) // 主题数据
    EtlOdsService.EtlQzCenterPaper(spark, dt, dn) // 试卷主题关联数据
    EtlOdsService.EtlQzChapter(spark, dt, dn) // 章节数据
    EtlOdsService.EtlQzChapterList(spark, dt, dn) // 章节列表数据
    EtlOdsService.EtlQzCourse(spark, dt,dn) // 题库课程数据
    EtlOdsService.EtlQzCourseEduSubject(spark, dt, dn) // 课程辅导数据
    EtlOdsService.EtlQzMajor(spark, dt, dn) // 主修数据
    EtlOdsService.EtlQzMemberPaperQuestion(spark, dt, dn) // 学员做题详情
    EtlOdsService.EtlQzPaper(spark, dt, dn) // 试卷详情
    EtlOdsService.EtlQzPaperView(spark, dt, dn) // 试卷视图数据
    EtlOdsService.EtlQzPoint(spark, dt, dn) // 知识点数据
    EtlOdsService.EtlQzPointQuestion(spark,dt, dn) // 做题知识点关联数据
    EtlOdsService.EtlQzQuestion(spark, dt, dn) // 做题日志数据
    EtlOdsService.EtlQzQuestionType(spark, dt, dn) // 题目类型数据
    EtlOdsService.EtlQzSiteCourse(spark, dt, dn) // 网络课程日志
    EtlOdsService.EtlQzWebsite(spark, dt,dn) // 做题网站日志数据
  }
}
